﻿using System;
namespace System.Data.Services.Providers
{
    /// <summary>
    /// Enumeration for the kinds of property a resource can have.
    /// </summary>
    [Flags]
    public enum ResourcePropertyKind
    {
        /// <summary>A primitive type property.</summary>
        Primitive = 1,
        /// <summary>A property that is part of the key.</summary>
        Key = 2,
        /// <summary>A complex (compound) property.</summary>
        ComplexType = 4,
        /// <summary>A reference to another resource.</summary>
        ResourceReference = 8,
        /// <summary>A reference to a resource set.</summary>
        ResourceSetReference = 16,
        /// <summary>Whether this property is a etag property.</summary>
        ETag = 32,
        /// <summary>A collection of primitive or complex types.</summary>
        Collection = 64,
        /// <summary>A Named Resource Stream</summary>
        Stream = 128,
#if CAREFREEXT
        /// <summary>A enum type property.</summary>
        Enum = 256 
#endif
    }
}